package com.qf.service;

import com.qf.dao.UserDao;
import com.qf.pojo.User;
import com.qf.utils.Constants;
import com.qf.utils.MD5Utils;

/**
 * @author 汤奇
 * @version V1.0
 * @Project BookPro
 * @Package com.qf.service
 * @Description:
 * @Date 2022/5/20 22:09
 */
public class AdminServiceImpl implements AdminService{
    private UserDao userDao;

    public AdminServiceImpl(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public User login(String username, String password) {
        //1.根据用户名,调用dao查询
        User user = userDao.findByUserName(username);

        //2.判断用户是否存在, 不存在返回null
        if (user == null){
            return null;
        }
        //3.判断用户是否为管理员, 如果不是管理员返回null
        if (Constants.ROLE_ADMIN != user.getRole()){
            return null;
        }
        //4.判断用户状态是否可用, 1可用, 不可用返回null
        if (!Constants.USER_ACTIVE.equals(user.getStatus())){
            return null;
        }
        //5.判断密码是否正确,密码正确返回true
        if (user.getPassword().equals(MD5Utils.md5(password))){
            return user;
        }
        //6.其他情况返回false
        return null;
    }
}
